package model

import (
	"context"
	"github.com/go-redis/redis/v8"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

var DB *gorm.DB
var RDB *redis.Client
var Ctx context.Context

func InitDB() *gorm.DB {
	dsn := "root:123456@tcp(127.0.0.1:3306)/user?charset=utf8mb4&parseTime=True&loc=Local"
	var err error
	DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic("failed to connect database")
	}
	sqlDB, _ := DB.DB()
	sqlDB.SetMaxIdleConns(20)  // 空闲时候的最大连接数
	sqlDB.SetMaxOpenConns(100) // 打开时候的最大连接数
	DB.AutoMigrate(&CustInfo{})
	DB.AutoMigrate(&CustRecords{})
	return DB
}

func InitRDB() *redis.Client {
	rdb := redis.NewClient(&redis.Options{
		Addr:     "localhost:6379", // Redis 服务器地址
		Password: "123456",         // Redis 密码，如果没有则留空
		DB:       0,                // 使用默认 DB
	})
	RDB = rdb
	Ctx = context.Background()
	return rdb
}
